package com.ourteam.product.ui.dao;

import net.dao.IDataAccessInterface;

/**
 * Template Name : DAO接口模板 Template Version : 1 Template Last Modfiy Date : Thu Sep 21 11:14:14 CST
 * 2017 Auto Generate Date : 2018-12-14 15:15:04 Warning ! This file will be overwrite when
 * regenerate !
 */
public interface IBaseProductUIFormDAO
    extends IDataAccessInterface<ProductUIForm, ProductUIFormDAOQueryBean> {

  /** Mapped Entity Name */
  static final String EntityName = "PRODUCT_UI_FORM";

  /** Mapped Field ID */
  static final String Id = "PRODUCT_UI_FORM.ID";

  /** Mapped Field DOMAIN_ID */
  static final String DomainId = "PRODUCT_UI_FORM.DOMAIN_ID";

  /** Mapped Field CODE */
  static final String Code = "PRODUCT_UI_FORM.CODE";

  /** Mapped Field TITLE */
  static final String Title = "PRODUCT_UI_FORM.TITLE";

  /** Mapped Field TITLE_KEY */
  static final String TitleKey = "PRODUCT_UI_FORM.TITLE_KEY";

  /** Mapped Field NUM_COLUMNS */
  static final String NumColumns = "PRODUCT_UI_FORM.NUM_COLUMNS";

  /** Mapped Field LAST_MODIFY_USER */
  static final String LastModifyUser = "PRODUCT_UI_FORM.LAST_MODIFY_USER";

  /** Mapped Field LAST_MODIFY_TIME */
  static final String LastModifyTime = "PRODUCT_UI_FORM.LAST_MODIFY_TIME";

  /** Mapped Field STATUS */
  static final String Status = "PRODUCT_UI_FORM.STATUS";

  /** Mapped Field REMARKS */
  static final String Remarks = "PRODUCT_UI_FORM.REMARKS";

  /** Mapped Field MODEL_OBJECT_ID */
  static final String ModelObjectId = "PRODUCT_UI_FORM.MODEL_OBJECT_ID";

  /** Mapped Attribute domainName */
  static final String DomainName =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIDomainDAO.DomainName,
          com.ourteam.product.ui.dao.IProductUIDomainDAO.EntityName + ".",
          "PRODUCT_UI_DOMAIN.");

  /** Mapped Attribute domainCode */
  static final String DomainCode =
      org.apache.commons.lang.StringUtils.replace(
          com.ourteam.product.ui.dao.IProductUIDomainDAO.DomainCode,
          com.ourteam.product.ui.dao.IProductUIDomainDAO.EntityName + ".",
          "PRODUCT_UI_DOMAIN.");

  public static interface DataProperty {

    /** Attribute modelObjectId */
    static final String ModelObjectId = "modelObjectId";

    /** Attribute id */
    static final String Id = "id";

    /** Attribute domainId */
    static final String DomainId = "domainId";

    /** Attribute code */
    static final String Code = "code";

    /** Attribute title */
    static final String Title = "title";

    /** Attribute titleKey */
    static final String TitleKey = "titleKey";

    /** Attribute numColumns */
    static final String NumColumns = "numColumns";

    /** Attribute lastModifyUser */
    static final String LastModifyUser = "lastModifyUser";

    /** Attribute lastModifyTime */
    static final String LastModifyTime = "lastModifyTime";

    /** Attribute status */
    static final String Status = "status";

    /** Attribute remarks */
    static final String Remarks = "remarks";

    /** Attribute domainName */
    static final String DomainName = "domainName";

    /** Attribute domainCode */
    static final String DomainCode = "domainCode";
  }

  public static interface _DataObjectProperty extends DataProperty {}

  /**
   * Delete Data
   *
   * @param final long id
   * @throws Exception
   */
  void delete(final long id) throws Exception;
  /**
   * Find Data By Primary Key
   *
   * @param final long id
   * @throws Exception
   */
  ProductUIForm findById(final long id) throws Exception;
}
